Dynomotion

Group: DynoMotion Message: 6986 From: himykabibble Date: 3/14/2013
Subject: Why Is CheckDone Returning 1 When The Axis Is Moving?
I'm working on limit handling for my new machine, but having a problem. I use CheckDone to determine which axis tripped the limit. But, CheckDone seems to frequently return 1, even when the axis is moving. How can I determine, with certainty, whether an axis is moving or not?

Regards,
Ray L.
Group: DynoMotion Message: 6987 From: Tom Kerekes Date: 3/14/2013
Subject: Re: Why Is CheckDone Returning 1 When The Axis Is Moving?
Hi Ray,

CheckDone returns the status of an individual axis if moved using an independent motion command like Move or Jog.  It doesn't apply for things like coordinated motion.

I think you can look at ch->last_vel to always see if an axis is moving and in what direction.

Regards
TK

Group: DynoMotion Message: 6988 From: himykabibble Date: 3/14/2013
Subject: Re: Why Is CheckDone Returning 1 When The Axis Is Moving?
Tom,

OK, I'll give that a try. I worked around it for now by recording the last position (during the last time-slice), and comparing that to ch->Dest. That seems to work, though it obviously has a small potential timing hole in it.

I've run into another problem though. Now when I set the limit state, as follows:

// Enable KM limit handler
ch0->LimitSwitchOptions =
LIMIT_STOP_ON_POS |
LIMIT_DISALLOW_DRIVE |
LIMIT_POS_LIMIT_BIT(VLIMIT_POS) |
LIMIT_IN_LIMIT;

I get an error dialog telling me an under-run has occurred, and suggesting I increase look-ahead. This is while moving a single axis, even at very slow speed. I've never seen this error before. The only difference I see is this is a new Win7 PC.

This happens every time.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>
> CheckDone returns the status of an individual axis if moved using an independent motion command like Move or Jog.  It doesn't apply for things like coordinated motion.
>
> I think you can look at ch->last_vel to always see if an axis is moving and in what direction.
>
> Regards
> TK
>
>
>
> ________________________________
> From: himykabibble <jagboy1964@...>
> To: DynoMotion@yahoogroups.com
> Sent: Thursday, March 14, 2013 4:27 PM
> Subject: [DynoMotion] Why Is CheckDone Returning 1 When The Axis Is Moving?
>
>
>  
> I'm working on limit handling for my new machine, but having a problem. I use CheckDone to determine which axis tripped the limit. But, CheckDone seems to frequently return 1, even when the axis is moving. How can I determine, with certainty, whether an axis is moving or not?
>
> Regards,
> Ray L.
>